অ্যাপাচি অ্যান্ট (Apache ANT) ফাইল সিস্টেমে কাজ করার জন্য শক্তিশালী টুলস সরবরাহ করে, যা ফাইল ম্যাচিং (Matching), ফিল্টারিং (Filtering) এবং সিলেকশন (Selection) করতে সাহায্য করে। এগুলো বিশেষত বড় প্রজেক্টে ফাইল পরিচালনার প্রক্রিয়াকে সহজ করে।
ANT-এর ফাইল ম্যাচিং প্যাটার্ন ব্যবহার করে নির্দিষ্ট ফাইল বা ডিরেক্টরি চিহ্নিত করা যায়। এটি সাধারণত fileset
এলিমেন্টে ব্যবহৃত হয়।
fileset
এর গঠনfileset
একটি ডিরেক্টরি থেকে নির্দিষ্ট প্যাটার্নের ফাইল নির্বাচন করে:
<fileset dir="src">
<include name="**/*.java" />
<exclude name="**/test/**" />
</fileset>
*
: একক লেভেলের যেকোনো ফাইল বা ডিরেক্টরি।*.java
সব .java
ফাইল নির্বাচন করবে।**
: যে কোনো ডিরেক্টরি লেভেলে যেকোনো ফাইল বা ডিরেক্টরি।**/*.java
সব .java
ফাইল নির্বাচন করবে, ডিরেক্টরি লেভেল নির্বিশেষে।?
: একটি একক অক্ষর রিপ্রেজেন্ট করে।file?.txt
ম্যাচ করবে file1.txt
, file2.txt
, কিন্তু file12.txt
নয়।ফাইল ফিল্টারিং ফাইলের কনটেন্ট বা নির্দিষ্ট প্যারামিটারের উপর ভিত্তি করে ফাইলগুলো প্রসেস করে।
filterchain
ব্যবহারfilterchain
এলিমেন্ট ফাইল প্রসেসিংয়ের সময় ফিল্টার প্রয়োগ করতে সাহায্য করে:
<copy todir="dest">
<fileset dir="src" />
<filterchain>
<replacetokens>
<token key="PLACEHOLDER" value="ActualValue" />
</replacetokens>
</filterchain>
</copy>
replacetokens
: ফাইলের মধ্যে নির্দিষ্ট টেক্সটকে নতুন টেক্সট দিয়ে প্রতিস্থাপন করে।PLACEHOLDER
কে ActualValue
এ পরিবর্তন করা।linecontains
: নির্দিষ্ট শব্দ বা বাক্যাংশ থাকা লাইনগুলোকে নির্বাচন করে।
উদাহরণ:
<filterchain>
<linecontains>
<contains value="IMPORTANT" />
</linecontains>
</filterchain>
সিলেক্টর (Selector) টাস্ক ব্যবহার করে ফাইল নির্বাচন আরও নির্দিষ্ট করা যায়, যেমন ফাইল সাইজ, টাইমস্ট্যাম্প, বা নাম।
size
Selectorফাইল সাইজের উপর ভিত্তি করে ফাইল নির্বাচন করে:
<fileset dir="src">
<size value="10k" />
</fileset>
10k
, 1m
)।date
Selectorনির্দিষ্ট সময়সীমার ফাইল নির্বাচন করে:
<fileset dir="src">
<date datetime="2024-12-01T00:00:00" when="before" />
</fileset>
before
বা after
উল্লেখ করে সময়সীমা।type
Selectorফাইল বা ডিরেক্টরি নির্বাচন করে:
<fileset dir="src">
<type type="file" />
</fileset>
file
বা dir
ব্যবহার করা যায়।contains
Selectorনির্দিষ্ট কনটেন্ট থাকা ফাইল নির্বাচন করে:
<fileset dir="src">
<contains text="TODO" />
</fileset>
modified
Selectorনির্দিষ্ট সময়ের মধ্যে পরিবর্তিত ফাইল নির্বাচন করে:
<fileset dir="src">
<modified millis="60000" />
</fileset>
<project name="FileManagement" default="process">
<target name="process">
<copy todir="output">
<fileset dir="src">
<include name="**/*.java" />
<exclude name="**/test/**" />
<size value="10k" />
<contains text="IMPORTANT" />
</fileset>
<filterchain>
<replacetokens>
<token key="VERSION" value="1.0" />
</replacetokens>
</filterchain>
</copy>
</target>
</project>
এখানে:
.java
ফাইল নির্বাচন করা হয়েছে।10k
এর কম সাইজের ফাইল এবং "IMPORTANT" শব্দ থাকা ফাইল ফিল্টার করা হয়েছে।1.0
এ প্রতিস্থাপন করা হয়েছে।সারাংশে, ANT-এর File Matching, Filtering এবং Selector Task ফাইল পরিচালনা ও প্রসেসিংয়ের ক্ষেত্রে কার্যকর একটি সমাধান। এটি বড় প্রজেক্টের ফাইল পরিচালনা আরও সংগঠিত, দ্রুত এবং নির্ভুল করতে সাহায্য করে।
common.read_more